{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from sever.data_loader import RLE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "../data/raw/severstal-steel-defect-detection/train.csv\r\n"
     ]
    }
   ],
   "source": [
    "!ls ../data/raw/severstal-steel-defect-detection/train.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "409600"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "img_size = 256 * 1600\n",
    "img_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ImageId_ClassId</th>\n",
       "      <th>EncodedPixels</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0002cc93b.jpg_1</td>\n",
       "      <td>29102 12 29346 24 29602 24 29858 24 30114 24 3...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0002cc93b.jpg_2</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0002cc93b.jpg_3</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0002cc93b.jpg_4</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>00031f466.jpg_1</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ImageId_ClassId                                      EncodedPixels\n",
       "0  0002cc93b.jpg_1  29102 12 29346 24 29602 24 29858 24 30114 24 3...\n",
       "1  0002cc93b.jpg_2                                                NaN\n",
       "2  0002cc93b.jpg_3                                                NaN\n",
       "3  0002cc93b.jpg_4                                                NaN\n",
       "4  00031f466.jpg_1                                                NaN"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_csv = '../data/raw/severstal-steel-defect-detection/train.csv'\n",
    "df = pd.read_csv(train_csv)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['ImageId'], df['ClassId'] = zip(*df['ImageId_ClassId'].str.split('_'))\n",
    "df['ClassId'] = df['ClassId'].astype(int)\n",
    "df = df.pivot(index='ImageId', columns='ClassId', values='EncodedPixels')\n",
    "df.columns = [f'rle{c}' for c in range(4)]\n",
    "df['defects'] = df.count(axis=1)\n",
    "for c in range(4):\n",
    "    df[f'c{c}'] = df[f'rle{c}'].apply(lambda rle: not pd.isnull(rle))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rle0</th>\n",
       "      <th>rle1</th>\n",
       "      <th>rle2</th>\n",
       "      <th>rle3</th>\n",
       "      <th>defects</th>\n",
       "      <th>c0</th>\n",
       "      <th>c1</th>\n",
       "      <th>c2</th>\n",
       "      <th>c3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ImageId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0002cc93b.jpg</td>\n",
       "      <td>29102 12 29346 24 29602 24 29858 24 30114 24 3...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>00031f466.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000418bfc.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000789191.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0007a71bf.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18661 28 18863 82 19091 110 19347 110 19603 11...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                            rle0 rle1  \\\n",
       "ImageId                                                                 \n",
       "0002cc93b.jpg  29102 12 29346 24 29602 24 29858 24 30114 24 3...  NaN   \n",
       "00031f466.jpg                                                NaN  NaN   \n",
       "000418bfc.jpg                                                NaN  NaN   \n",
       "000789191.jpg                                                NaN  NaN   \n",
       "0007a71bf.jpg                                                NaN  NaN   \n",
       "\n",
       "                                                            rle2 rle3  \\\n",
       "ImageId                                                                 \n",
       "0002cc93b.jpg                                                NaN  NaN   \n",
       "00031f466.jpg                                                NaN  NaN   \n",
       "000418bfc.jpg                                                NaN  NaN   \n",
       "000789191.jpg                                                NaN  NaN   \n",
       "0007a71bf.jpg  18661 28 18863 82 19091 110 19347 110 19603 11...  NaN   \n",
       "\n",
       "               defects     c0     c1     c2     c3  \n",
       "ImageId                                             \n",
       "0002cc93b.jpg        1   True  False  False  False  \n",
       "00031f466.jpg        0  False  False  False  False  \n",
       "000418bfc.jpg        0  False  False  False  False  \n",
       "000789191.jpg        0  False  False  False  False  \n",
       "0007a71bf.jpg        1  False  False   True  False  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: 897, 1: 247, 2: 5150, 3: 801}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts = {c: df[f'c{c}'].sum() for c in range(4)}\n",
    "counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(1, 247), (3, 801), (0, 897), (2, 5150)]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sorted_classes = sorted(counts.items(), key=lambda kv: kv[1])\n",
    "sorted_classes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def assign_min_sample_class(row, sorted_classes):\n",
    "    for c, _ in sorted_classes:\n",
    "        if row[f'c{c}']:\n",
    "            return c\n",
    "    return -1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rle0</th>\n",
       "      <th>rle1</th>\n",
       "      <th>rle2</th>\n",
       "      <th>rle3</th>\n",
       "      <th>defects</th>\n",
       "      <th>c0</th>\n",
       "      <th>c1</th>\n",
       "      <th>c2</th>\n",
       "      <th>c3</th>\n",
       "      <th>sample_class</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ImageId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0002cc93b.jpg</td>\n",
       "      <td>29102 12 29346 24 29602 24 29858 24 30114 24 3...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>00031f466.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000418bfc.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000789191.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0007a71bf.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18661 28 18863 82 19091 110 19347 110 19603 11...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                            rle0 rle1  \\\n",
       "ImageId                                                                 \n",
       "0002cc93b.jpg  29102 12 29346 24 29602 24 29858 24 30114 24 3...  NaN   \n",
       "00031f466.jpg                                                NaN  NaN   \n",
       "000418bfc.jpg                                                NaN  NaN   \n",
       "000789191.jpg                                                NaN  NaN   \n",
       "0007a71bf.jpg                                                NaN  NaN   \n",
       "\n",
       "                                                            rle2 rle3  \\\n",
       "ImageId                                                                 \n",
       "0002cc93b.jpg                                                NaN  NaN   \n",
       "00031f466.jpg                                                NaN  NaN   \n",
       "000418bfc.jpg                                                NaN  NaN   \n",
       "000789191.jpg                                                NaN  NaN   \n",
       "0007a71bf.jpg  18661 28 18863 82 19091 110 19347 110 19603 11...  NaN   \n",
       "\n",
       "               defects     c0     c1     c2     c3  sample_class  \n",
       "ImageId                                                           \n",
       "0002cc93b.jpg        1   True  False  False  False             0  \n",
       "00031f466.jpg        0  False  False  False  False            -1  \n",
       "000418bfc.jpg        0  False  False  False  False            -1  \n",
       "000789191.jpg        0  False  False  False  False            -1  \n",
       "0007a71bf.jpg        1  False  False   True  False             2  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['sample_class'] = df.apply(lambda row: assign_min_sample_class(row, sorted_classes), axis=1)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pixel_count(s):\n",
    "    if not isinstance(s, str):\n",
    "        return 0\n",
    "    mask = RLE.from_str(s).to_mask()\n",
    "    return mask.sum()\n",
    "\n",
    "def contains_defect(s):\n",
    "    return isinstance(s, str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ImageId\n",
       "0002cc93b.jpg    1\n",
       "00031f466.jpg    0\n",
       "000418bfc.jpg    0\n",
       "000789191.jpg    0\n",
       "0007a71bf.jpg    1\n",
       "                ..\n",
       "fff0295e1.jpg    0\n",
       "fff02e9c5.jpg    1\n",
       "fffe98443.jpg    1\n",
       "ffff4eaa8.jpg    1\n",
       "ffffd67df.jpg    1\n",
       "Name: defects, Length: 12568, dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[:, 4]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['c0'] = df.iloc[:, 0].apply(contains_defect)\n",
    "df['c1'] = df.iloc[:, 1].apply(contains_defect)\n",
    "df['c2'] = df.iloc[:, 2].apply(contains_defect)\n",
    "df['c3'] = df.iloc[:, 3].apply(contains_defect)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rle0</th>\n",
       "      <th>rle1</th>\n",
       "      <th>rle2</th>\n",
       "      <th>rle3</th>\n",
       "      <th>defects</th>\n",
       "      <th>c0</th>\n",
       "      <th>c1</th>\n",
       "      <th>c2</th>\n",
       "      <th>c3</th>\n",
       "      <th>sample_class</th>\n",
       "      <th>px0</th>\n",
       "      <th>px1</th>\n",
       "      <th>px2</th>\n",
       "      <th>px3</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ImageId</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0002cc93b.jpg</td>\n",
       "      <td>29102 12 29346 24 29602 24 29858 24 30114 24 3...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "      <td>4396</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>00031f466.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000418bfc.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000789191.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0007a71bf.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>18661 28 18863 82 19091 110 19347 110 19603 11...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6897</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000a4bcdd.jpg</td>\n",
       "      <td>37607 3 37858 8 38108 14 38359 20 38610 25 388...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>0</td>\n",
       "      <td>8319</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>000f6bf48.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>131973 1 132228 4 132483 6 132738 8 132993 11 ...</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>69357</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0014fce06.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>229501 11 229741 33 229981 55 230221 77 230468...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4851</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>001982b08.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>001d1b355.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>001d3d093.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0025bde0c.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8458 14 8707 35 8963 48 9219 71 9475 88 9731 8...</td>\n",
       "      <td>315139 8 315395 15 315651 16 315906 17 316162 ...</td>\n",
       "      <td>2</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>28506</td>\n",
       "      <td>17541</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>002af848d.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>290800 6 291055 13 291311 15 291566 18 291822 ...</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>002e73b3c.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>002fc4e19.jpg</td>\n",
       "      <td>146021 3 146275 10 146529 40 146783 46 147038 ...</td>\n",
       "      <td>145658 7 145901 20 146144 33 146386 47 146629 ...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>1</td>\n",
       "      <td>1547</td>\n",
       "      <td>1209</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0030401a5.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>186833 1 187089 3 187344 6 187600 7 187855 10 ...</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>60738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>003ac9d2a.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>0046839bd.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>152926 1 153180 4 153434 6 153689 8 153943 11 ...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5253</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005b92582.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005d86c25.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>331 18 587 53 843 89 1099 124 1355 159 1611 17...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>163033</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005da33cf.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005dbf0e0.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005f02e20.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>318652 8 318863 6 318903 17 319114 15 319158 2...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3429</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>005f19695.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>123137 7 123393 19 123649 32 123905 44 124161 ...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>27106</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>006a4402e.jpg</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                            rle0  \\\n",
       "ImageId                                                            \n",
       "0002cc93b.jpg  29102 12 29346 24 29602 24 29858 24 30114 24 3...   \n",
       "00031f466.jpg                                                NaN   \n",
       "000418bfc.jpg                                                NaN   \n",
       "000789191.jpg                                                NaN   \n",
       "0007a71bf.jpg                                                NaN   \n",
       "000a4bcdd.jpg  37607 3 37858 8 38108 14 38359 20 38610 25 388...   \n",
       "000f6bf48.jpg                                                NaN   \n",
       "0014fce06.jpg                                                NaN   \n",
       "001982b08.jpg                                                NaN   \n",
       "001d1b355.jpg                                                NaN   \n",
       "001d3d093.jpg                                                NaN   \n",
       "0025bde0c.jpg                                                NaN   \n",
       "002af848d.jpg                                                NaN   \n",
       "002e73b3c.jpg                                                NaN   \n",
       "002fc4e19.jpg  146021 3 146275 10 146529 40 146783 46 147038 ...   \n",
       "0030401a5.jpg                                                NaN   \n",
       "003ac9d2a.jpg                                                NaN   \n",
       "0046839bd.jpg                                                NaN   \n",
       "005b92582.jpg                                                NaN   \n",
       "005d86c25.jpg                                                NaN   \n",
       "005da33cf.jpg                                                NaN   \n",
       "005dbf0e0.jpg                                                NaN   \n",
       "005f02e20.jpg                                                NaN   \n",
       "005f19695.jpg                                                NaN   \n",
       "006a4402e.jpg                                                NaN   \n",
       "\n",
       "                                                            rle1  \\\n",
       "ImageId                                                            \n",
       "0002cc93b.jpg                                                NaN   \n",
       "00031f466.jpg                                                NaN   \n",
       "000418bfc.jpg                                                NaN   \n",
       "000789191.jpg                                                NaN   \n",
       "0007a71bf.jpg                                                NaN   \n",
       "000a4bcdd.jpg                                                NaN   \n",
       "000f6bf48.jpg                                                NaN   \n",
       "0014fce06.jpg                                                NaN   \n",
       "001982b08.jpg                                                NaN   \n",
       "001d1b355.jpg                                                NaN   \n",
       "001d3d093.jpg                                                NaN   \n",
       "0025bde0c.jpg                                                NaN   \n",
       "002af848d.jpg                                                NaN   \n",
       "002e73b3c.jpg                                                NaN   \n",
       "002fc4e19.jpg  145658 7 145901 20 146144 33 146386 47 146629 ...   \n",
       "0030401a5.jpg                                                NaN   \n",
       "003ac9d2a.jpg                                                NaN   \n",
       "0046839bd.jpg                                                NaN   \n",
       "005b92582.jpg                                                NaN   \n",
       "005d86c25.jpg                                                NaN   \n",
       "005da33cf.jpg                                                NaN   \n",
       "005dbf0e0.jpg                                                NaN   \n",
       "005f02e20.jpg                                                NaN   \n",
       "005f19695.jpg                                                NaN   \n",
       "006a4402e.jpg                                                NaN   \n",
       "\n",
       "                                                            rle2  \\\n",
       "ImageId                                                            \n",
       "0002cc93b.jpg                                                NaN   \n",
       "00031f466.jpg                                                NaN   \n",
       "000418bfc.jpg                                                NaN   \n",
       "000789191.jpg                                                NaN   \n",
       "0007a71bf.jpg  18661 28 18863 82 19091 110 19347 110 19603 11...   \n",
       "000a4bcdd.jpg                                                NaN   \n",
       "000f6bf48.jpg                                                NaN   \n",
       "0014fce06.jpg  229501 11 229741 33 229981 55 230221 77 230468...   \n",
       "001982b08.jpg                                                NaN   \n",
       "001d1b355.jpg                                                NaN   \n",
       "001d3d093.jpg                                                NaN   \n",
       "0025bde0c.jpg  8458 14 8707 35 8963 48 9219 71 9475 88 9731 8...   \n",
       "002af848d.jpg                                                NaN   \n",
       "002e73b3c.jpg                                                NaN   \n",
       "002fc4e19.jpg                                                NaN   \n",
       "0030401a5.jpg                                                NaN   \n",
       "003ac9d2a.jpg                                                NaN   \n",
       "0046839bd.jpg  152926 1 153180 4 153434 6 153689 8 153943 11 ...   \n",
       "005b92582.jpg                                                NaN   \n",
       "005d86c25.jpg  331 18 587 53 843 89 1099 124 1355 159 1611 17...   \n",
       "005da33cf.jpg                                                NaN   \n",
       "005dbf0e0.jpg                                                NaN   \n",
       "005f02e20.jpg  318652 8 318863 6 318903 17 319114 15 319158 2...   \n",
       "005f19695.jpg  123137 7 123393 19 123649 32 123905 44 124161 ...   \n",
       "006a4402e.jpg                                                NaN   \n",
       "\n",
       "                                                            rle3  defects  \\\n",
       "ImageId                                                                     \n",
       "0002cc93b.jpg                                                NaN        1   \n",
       "00031f466.jpg                                                NaN        0   \n",
       "000418bfc.jpg                                                NaN        0   \n",
       "000789191.jpg                                                NaN        0   \n",
       "0007a71bf.jpg                                                NaN        1   \n",
       "000a4bcdd.jpg                                                NaN        1   \n",
       "000f6bf48.jpg  131973 1 132228 4 132483 6 132738 8 132993 11 ...        1   \n",
       "0014fce06.jpg                                                NaN        1   \n",
       "001982b08.jpg                                                NaN        0   \n",
       "001d1b355.jpg                                                NaN        0   \n",
       "001d3d093.jpg                                                NaN        0   \n",
       "0025bde0c.jpg  315139 8 315395 15 315651 16 315906 17 316162 ...        2   \n",
       "002af848d.jpg  290800 6 291055 13 291311 15 291566 18 291822 ...        1   \n",
       "002e73b3c.jpg                                                NaN        0   \n",
       "002fc4e19.jpg                                                NaN        2   \n",
       "0030401a5.jpg  186833 1 187089 3 187344 6 187600 7 187855 10 ...        1   \n",
       "003ac9d2a.jpg                                                NaN        0   \n",
       "0046839bd.jpg                                                NaN        1   \n",
       "005b92582.jpg                                                NaN        0   \n",
       "005d86c25.jpg                                                NaN        1   \n",
       "005da33cf.jpg                                                NaN        0   \n",
       "005dbf0e0.jpg                                                NaN        0   \n",
       "005f02e20.jpg                                                NaN        1   \n",
       "005f19695.jpg                                                NaN        1   \n",
       "006a4402e.jpg                                                NaN        0   \n",
       "\n",
       "                  c0     c1     c2     c3  sample_class   px0   px1     px2  \\\n",
       "ImageId                                                                       \n",
       "0002cc93b.jpg   True  False  False  False             0  4396     0       0   \n",
       "00031f466.jpg  False  False  False  False            -1     0     0       0   \n",
       "000418bfc.jpg  False  False  False  False            -1     0     0       0   \n",
       "000789191.jpg  False  False  False  False            -1     0     0       0   \n",
       "0007a71bf.jpg  False  False   True  False             2     0     0    6897   \n",
       "000a4bcdd.jpg   True  False  False  False             0  8319     0       0   \n",
       "000f6bf48.jpg  False  False  False   True             3     0     0       0   \n",
       "0014fce06.jpg  False  False   True  False             2     0     0    4851   \n",
       "001982b08.jpg  False  False  False  False            -1     0     0       0   \n",
       "001d1b355.jpg  False  False  False  False            -1     0     0       0   \n",
       "001d3d093.jpg  False  False  False  False            -1     0     0       0   \n",
       "0025bde0c.jpg  False  False   True   True             3     0     0   28506   \n",
       "002af848d.jpg  False  False  False   True             3     0     0       0   \n",
       "002e73b3c.jpg  False  False  False  False            -1     0     0       0   \n",
       "002fc4e19.jpg   True   True  False  False             1  1547  1209       0   \n",
       "0030401a5.jpg  False  False  False   True             3     0     0       0   \n",
       "003ac9d2a.jpg  False  False  False  False            -1     0     0       0   \n",
       "0046839bd.jpg  False  False   True  False             2     0     0    5253   \n",
       "005b92582.jpg  False  False  False  False            -1     0     0       0   \n",
       "005d86c25.jpg  False  False   True  False             2     0     0  163033   \n",
       "005da33cf.jpg  False  False  False  False            -1     0     0       0   \n",
       "005dbf0e0.jpg  False  False  False  False            -1     0     0       0   \n",
       "005f02e20.jpg  False  False   True  False             2     0     0    3429   \n",
       "005f19695.jpg  False  False   True  False             2     0     0   27106   \n",
       "006a4402e.jpg  False  False  False  False            -1     0     0       0   \n",
       "\n",
       "                 px3  \n",
       "ImageId               \n",
       "0002cc93b.jpg      0  \n",
       "00031f466.jpg      0  \n",
       "000418bfc.jpg      0  \n",
       "000789191.jpg      0  \n",
       "0007a71bf.jpg      0  \n",
       "000a4bcdd.jpg      0  \n",
       "000f6bf48.jpg  69357  \n",
       "0014fce06.jpg      0  \n",
       "001982b08.jpg      0  \n",
       "001d1b355.jpg      0  \n",
       "001d3d093.jpg      0  \n",
       "0025bde0c.jpg  17541  \n",
       "002af848d.jpg   5001  \n",
       "002e73b3c.jpg      0  \n",
       "002fc4e19.jpg      0  \n",
       "0030401a5.jpg  60738  \n",
       "003ac9d2a.jpg      0  \n",
       "0046839bd.jpg      0  \n",
       "005b92582.jpg      0  \n",
       "005d86c25.jpg      0  \n",
       "005da33cf.jpg      0  \n",
       "005dbf0e0.jpg      0  \n",
       "005f02e20.jpg      0  \n",
       "005f19695.jpg      0  \n",
       "006a4402e.jpg      0  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['px0'] = df.iloc[:, 0].apply(pixel_count)\n",
    "df['px1'] = df.iloc[:, 1].apply(pixel_count)\n",
    "df['px2'] = df.iloc[:, 2].apply(pixel_count)\n",
    "df['px3'] = df.iloc[:, 3].apply(pixel_count)\n",
    "df.head(25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "547.76"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[df.px0 != 0, 'px0'].quantile(0.02)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f25b26465c0>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df.loc[df.px0 != 0, 'px0'], bins=100, kde=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "715.3199999999999"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[df.px1 != 0, 'px1'].quantile(0.02)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f25b1ca8518>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df.loc[df.px1 != 0, 'px1'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1145.96"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[df.px2 != 0, 'px2'].quantile(0.02)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f25b1d36400>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df.loc[df.px2 != 0, 'px2'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2959.0"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[df.px3 != 0, 'px3'].quantile(0.02)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f25b1db6f98>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(df.loc[df.px3 != 0, 'px3'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'DataFrame' object has no attribute 'c4'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-23-df1401ad3ed5>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc3\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mc4\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/.conda/envs/sever/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   5177\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5178\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5179\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   5180\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   5181\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'c4'"
     ]
    }
   ],
   "source": [
    "print(df.c1.mean(), df.c2.mean(), df.c3.mean(), df.c4.mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.groupby(['c1', 'c2', 'c3', 'c4'])['defects'].count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.c3.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_empty.empty"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_nodef = df.loc[df.defects > 0, :]\n",
    "df_nodef.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
